#ifndef	_J_SINKRONIZACIJA_H_
#define	_J_SINKRONIZACIJA_H_

#include "dretve.h"

//javno  >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

//sucelje
void j_inicijaliziraj_sinkronizaciju ();
int j_dohvati_sem (void *param);
int j_obrisi_sem (void *param);
int j_cekaj_sem (void *param);
int j_postavi_sem (void *param);

typedef struct _sem_t_ {
	uint8	sort;	//nacin sortiranja reda
	uint16	zast;	//zastavice
	uint	poc_vr;	//pocetna vrijednost
} sem_t;


#ifdef _J_SINKRONIZACIJA_C_

//interne pomocne funkcije
int j_propusti_i (int id_reda, bool sve);
int j_provjeri_sem(int id_reda);

#endif	/* _J_SINKRONIZACIJA_C_ */
#endif	/* _J_SINKRONIZACIJA_H_ */

